package com.csc.finalproject.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.csc.finalproject.domain.AccountInfo;

public interface AccountInfoService {
	@Transactional
	public void addAccountInfo(String accountNumber, String indentifyCard,
			String firstName, String lastName, String midName, String phone1,
			String phone2, String email1, String email2, int stateId);

	@Transactional
	public void editAccountInfo(int accountId, String accountNumber,
			String indentifyCard, String firstName, String lastName,
			String midName, String phone1, String phone2, String email1,
			String email2, int stateId);

	public List<AccountInfo> getAccountInfos();

	public AccountInfo getAccountInfo(int id);

	public List<AccountInfo> getAccountsByState(int stateId);

	@Transactional
	public boolean transferState(String accountId, String stateId);

	@Transactional
	public boolean removeAccountInfo(String accountId);

	public List<AccountInfo> search(String accountNumber);

	public List<AccountInfo> searchAdvance(String accountNumber,
			String identifyCard, String firstName, String lastName,
			String phone, String stateId);
}
